/*
 * Copyright 2011-2012 Benoit Averty, Samuel Babin, Matthieu Bergere, Thomas Letan, Sacha Percot-Tétu, Florian Teyssier
 *
 * This file is part of DETIQ-T.
 *
 * DETIQ-T is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * DETIQ-T is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with DETIQ-T.  If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef PARAMREP_H
#define PARAMREP_H

#include <stdlib.h>

namespace genericinterface
{

    struct ParameterRep {
        int start;
        int operation;
        int   choiceround;
        double valmin;
        double valmax;
        double valcenter;
        double valbefcenter;
        double cutup;
        double cutdown;
        int end;
    };

    class ParamRep
    {
        public:
        ParamRep(ParameterRep parameter);
        enum Param{START, OPERATION, VALROUND, VALMIN, VALMAX, VALCENTER, VALBEFCENTER, CUTUP, CUTDOWN, END};
        enum StandardOp{STANDARDCUT,STANDARDABS,STANDARDNORM, STANDARDROUND};
        enum ValRound{ROUND, FLOOR, CEIL, TRUNC};
        ~ParamRep();//destructor



        int setValue(Param param,int value);


        int getParamInt(int value);
        double getParamDouble(int value);

        protected:
        ParameterRep _parameter;

    };


}//end namespace

#endif // PARAMREP_H
